package cn.edu.sgu.www.mhxysy.util;

import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;

import java.util.function.Consumer;

/**
 * @author 沐雨橙风ιε
 * @version 1.0
 */
public class WrapperUtils<T> {

    public static <T> UpdateWrapper<T> getUpdateWrapper(Object id, String image) {
        // 删除图片后缀：?timestamp=
        int index = image.indexOf("?");

        if (index > 0) {
            image = image.substring(0, index);
        }

        UpdateWrapper<T> updateWrapper = new UpdateWrapper<>();

        updateWrapper.set("image", image);

        updateWrapper.eq("id", id);

        String finalImage = image;

        updateWrapper.nested(new Consumer<UpdateWrapper<T>>() {
            @Override
            public void accept(UpdateWrapper<T> updateWrapper) {
                updateWrapper.isNull("image");
                updateWrapper.or();
                updateWrapper.ne("image", finalImage);
            }
        });

        return updateWrapper;
    }

}
